package tpo.modelo;

import tpo.to.ModeloDTO;

public class Modelo {
	private static int proximoCodigo = 1;
	private int codigo;
	private String marca;
	private String modelo;
	private String datosMotor;
	private String datosSeguridad;
	private TipoModelo tipo;
	private float costoDiario;
	private float costoKMExcedente;
	
	public Modelo(String marca, String modelo, String datosMotor, String datosSeguridad, TipoModelo tipo, float costoDiario, float costoKMExcedente) {
		this.codigo = getProximoCodigo();
		this.marca = marca;
		this.modelo = modelo;
		this.datosMotor = datosMotor;
		this.datosSeguridad = datosSeguridad;
		this.tipo = tipo;
		this.costoDiario = costoDiario;
		this.costoKMExcedente = costoKMExcedente;
		
	}

	private int getProximoCodigo() {
		return proximoCodigo++;
	}
	
	public void modificarDatos(String marca, String modelo, String datosMotor,
			String datosSeguridad, TipoModelo tipoModelo, float costoDiario,
			float costoKMExcedente) {
		this.marca = marca;
		this.modelo = modelo;
		this.datosMotor = datosMotor;
		this.datosSeguridad = datosSeguridad;
		this.tipo = tipoModelo;
		this.costoDiario = costoDiario;
		this.costoKMExcedente = costoKMExcedente;
	}
	
	public boolean sosModelo(int codigo) {
		return this.codigo == codigo;
	}
	
	public float getCostoDiario() {
		return costoDiario;
	}
	
	public float getCostoKMExcedente() {
		return costoKMExcedente;
	}

	public boolean tenesTipoModelo(TipoModelo tm) {
		return (tipo != null && tipo.equals(tm));
	}
	
	public ModeloDTO getDTO() {
		return new ModeloDTO(codigo, marca, modelo, datosMotor, datosSeguridad, tipo.getDTO(), costoDiario, costoKMExcedente);
	}
}
